A number of computer systems and programs are offered on the market for the design, the engineering and the manufacturing of physical systems. CAD is an acronym for Computer-Aided Design, e.g. it relates to software solutions for designing an object. CAE is an acronym for Computer-Aided Engineering, e.g. it relates to software solutions for simulating the physical behavior of a future product. CAM is an acronym for Computer-Aided Manufacturing, e.g. it relates to software solutions for defining manufacturing processes and operations. In such computer-aided design systems, the graphical user interface plays an important role as regards the efficiency of the technique. These techniques may be embedded within Product Lifecycle Management (PLM) systems. PLM refers to a business strategy that helps companies to share product data, apply common processes, and leverage corporate knowledge for the development of products from conception to the end of their life, across the concept of extended enterprise. The PLM solutions provided by DASSAULT SYSTEMES (under the trademarks CATIA, ENOVIA and DELMIA) provide an Engineering Hub, which organizes product engineering knowledge, a Manufacturing Hub, which manages manufacturing engineering knowledge, and an Enterprise Hub which enables enterprise integrations and connections into both the Engineering and Manufacturing Hubs. All together the computer system delivers an open object model linking products, processes, resources to enable dynamic, knowledge-based product creation and decision support that drives optimized product definition, manufacturing preparation, production and service.
The field of physical system design is wide.
One popular concept is “optimization”. The goal of optimization is to set up a design problem in terms of objective functions and constraints, both involving design parameters. Then, a dedicated solver is run in order to provide the designer with a “best” solution in terms of minimizing the objective function. A wide class of solver's algorithms can tackle the optimization from a wide range of computer science (numerical analysis, combinatorial optimization, artificial intelligence). When setting up an optimization problem, the designer is asked to define the “best possible” solution by adding constraints and criteria. Such a “best possible” criterion surely helps the algorithm. Furthermore, the designer is asked to provide an initial condition for the algorithm to compute a neighboring solution. Many searching algorithms run heuristic methods to find a solution. A typical reference in this field is the document “Mathematical Programming: Theory and Algorithms”, M. Minoux, 2008.
Another popular concept is the “constraint satisfaction problem” (CSP in the following). Typical references include the following documents: “Foundations of Constraint Satisfaction”, Tsang, Edward (1993); “Global optimization using interval analysis”, Eldon Hansen (2003); and “Handbook of constraint programming”, Francesca Rossi (2006). The goal of CSP is to set up the design problem in terms of functions and constraints, both involving design parameters. Then, a dedicated solver is run in order to provide the designer with a “small” subset of design parameters values including the solutions. Here again, a wide class of solver's algorithms can tackle the CSPs from a wide range of computer science (including numerical analysis, combinatorial optimization, artificial intelligence). A typical real life design problem does not feature a unique solution. Solutions can be locally unique (no other solutions in the neighborhood of an existing solution, but other solutions “far” from an existing solution) or can be a continuum of solutions. Some design problems can even feature both cases.
Optimization technology is efficient when the problem is formulated in terms of a “best possible” solution. This formulation is good for the algorithm, but the designer is forced to add extra constraints and objectives for this purpose. When the designer is asked to provide an initial condition, the computed solution highly depends on it but this dependency is out of control. It is well known that iterative algorithms can “jump” from one solution to another in an unpredictable way. Consequently, trying to control the variation of the solution by adjusting the initial condition is not efficient. In real life, the process of designing a physical system does not always provide a natural criterion for optimization and uniqueness, especially at early design steps. Conversely, the designer would like to investigate the field of solutions in order to understand structures of solutions, parameters influences, parameters dependencies, or unsatisfactory solutions. The state of the art optimization technology does not allow this capability. As explained before, the goal of CSP is to narrow the range of the subset that includes the solutions of the problem. Nevertheless, navigation in this subset is the responsibility of the designer. This navigation is made difficult because of the following phenomenon. The interval [a, b] is output by the CSP algorithm, but it includes two smaller intervals [a, a′] and [b′, b] of solutions. In such a case, the larger interval [a, b] includes a “hole” ] a′, b′ [separating smaller intervals of solutions.
Within this context, there is still a need for an improved solution for designing a physical system constrained by equations involving variables.